Systems and Methods for Low Latency 3-Axis Accelerometer Calibration

ABSTRACT

Systems and methods for low-latency calibration of the alignment of 3-axis accelerometers in accordance embodiments of the invention are disclosed. In one embodiment of the invention, a telematics system includes a processor, an acceleration sensor, a velocity sensor, and a memory configured to store an acceleration alignment application, wherein the acceleration alignment application configures the processor to determine vehicular forward acceleration information and vehicular lateral acceleration information, calculate a lateral acceleration vector, a forward acceleration vector, and a vertical acceleration vector using a forward incline vector and a lateral incline vector determined using the vehicular forward acceleration information and vehicular lateral acceleration information.

CROSS REFERENCE TO RELATED APPLICATIONS

The current application is a continuation of U.S. patent application Ser. No. 13/770,917 entitled “Systems and Methods for Low Latency 3-Axis Accelerometer Calibration” to Hergesheimer et al., filed Feb. 19, 2013, the disclosure of which is hereby incorporated by reference in its entirety.

FIELD OF THE INVENTION

The present invention is generally related to calibrating the alignment of a 3-axis accelerometer and more specifically to the low latency calibration of 3-axis accelerometers to align with a vehicle's axis.

BACKGROUND OF THE INVENTION

A Global Positioning System (GPS) is a space based global navigation satellite system that utilizes a network of geo-synchronous satellites that can be utilized by a GPS receiver to determine its location. Many telematics systems incorporate a Global Positioning System (GPS) receiver, which can be used to obtain the location of a vehicle at a certain measured time. Using the signals received by the GPS receiver, the heading information of the vehicle can be determined. A GPS receiver can determine velocity information in a variety of ways including, but not limited to, measuring the Doppler shift of the received signals and by comparing the location of a vehicle at a plurality of measured times. The acceleration of the vehicle can be determined as the change in speed divided by the time between the measurements. A GPS receiver's ability to determine acceleration can be limited due to the dependence of the measurement upon factors such as, but not limited to, reception and satellite availability. In addition to location information, a GPS receiver can also be configured to provide time data. However, measurements determined via a GPS receiver can contain errors that affect the accuracy of the measured information. In particular, GPS signals are vulnerable to signal delays, inconsistencies of atmospheric conditions that affect the speed of the GPS signals as they pass through the Earth's atmosphere, and multipath distortions. Additionally, other factors not listed above can influence GPS signals and result in measurement errors.

An accelerometer is a device that measures acceleration associated with the weight experienced by a test mass in the frame of reference of the accelerometer device. The acceleration measured by an accelerometer is therefore a weight per unit of test mass, or g-force. Thereby, a stationary accelerometer in a vehicle would experience the earth's gravity while a free falling one would not.

SUMMARY OF THE INVENTION

Systems and methods for low latency calibration of the alignment of 3-axis accelerometers in accordance embodiments of the invention are disclosed. In one embodiment of the invention, a telematics system includes a processor, an acceleration sensor connected to the processor and configured to determine forward acceleration information along a forward axis, lateral acceleration information along a lateral axis, and vertical acceleration information along a vertical axis, a velocity sensor connected to the processor and configured to determine velocity information along a vehicular forward axis and heading information, and a memory connected to the processor and configured to store an acceleration alignment application, wherein the acceleration alignment application configures the processor to determine vehicular forward acceleration information along the vehicular forward axis using the velocity information, determine vehicular lateral acceleration information using the velocity information and the heading information, calculate a lateral acceleration vector using the forward acceleration information, the lateral acceleration information, the vertical acceleration information, and the vehicular lateral acceleration information, calculate a forward acceleration vector using the lateral acceleration vector and the vehicular forward acceleration information, calculate a vertical acceleration vector using the lateral acceleration vector and the forward acceleration vector, compute lateral alignment information using the lateral acceleration vector, the forward acceleration information, the lateral acceleration information, and the vertical acceleration information, compute forward alignment information using the forward acceleration vector, the forward acceleration information, the lateral acceleration information, and the vertical acceleration information, an compute vertical alignment information using the vertical acceleration vector, the forward acceleration information, the lateral acceleration information, and the vertical acceleration information.

In an another embodiment of the invention, the acceleration alignment application further configures the processor to calculate the lateral acceleration vector by determining a lateral incline vector using a calibrated forward vector, the forward acceleration information, the lateral acceleration information, the vertical acceleration information, and the vehicular lateral acceleration information and calculating the lateral acceleration vector using the calibrated forward vector and the lateral incline vector.

In an additional embodiment of the invention, the calibrated forward vector aligns the vehicular forward axis with the forward axis.

In yet another additional embodiment of the invention, the acceleration alignment application further configures the processor to determine a vehicular lateral axis using the heading information and the vehicular forward acceleration information and the calibrated forward vector further aligns the vehicular lateral axis with the lateral axis.

In still another additional embodiment of the invention, the lateral acceleration vector is the normalized cross product of the calibrated forward vector and the lateral incline vector.

In yet still another additional embodiment of the invention, the acceleration alignment application further configures the processor to calculate the forward acceleration vector by determining a forward incline vector using the lateral acceleration vector, the lateral incline vector, the vehicular forward acceleration information, the forward acceleration information, the lateral acceleration information, and the vertical acceleration information and calculating the forward acceleration vector using the forward incline vector and the lateral acceleration vector.

In yet another embodiment of the invention, the forward acceleration vector is the normalized cross product of the forward incline vector and the lateral acceleration vector.

In still another embodiment of the invention, the acceleration alignment application further configures the processor to calculate the vertical acceleration vector using the lateral acceleration vector and the forward acceleration vector.

In yet still another embodiment of the invention, the vertical acceleration vector is the normalized cross product of the lateral acceleration vector and the forward acceleration vector.

In yet another additional embodiment of the invention, the acceleration sensor is a 3-axis accelerometer and the acceleration sensor is configured to determine an acceleration sensor vector including the forward acceleration information, the lateral acceleration information, and the vertical acceleration information.

Still another embodiment of the invention includes a method for calibrating acceleration information using a telematics system, where the telematics system is mounted in the vehicle having a vehicular forward axis, a vehicular lateral axis, and a vehicular vertical axis, including determining vehicular forward acceleration information along a vehicular forward axis using the telematics system, determining vehicular lateral acceleration information along a vehicular lateral axis using the telematics system, calculating a lateral acceleration vector using the vehicular lateral acceleration information using the telematics system, calculating a forward acceleration vector using the lateral acceleration vector and the vehicular forward acceleration information using the telematics system, calculating a vertical acceleration vector using the lateral acceleration vector and the forward acceleration vector using the telematics system, computing lateral alignment information using the lateral acceleration vector using the telematics system, computing forward alignment information based on the forward acceleration vector using the telematics system, and computing vertical alignment information based on the vertical acceleration vector using the telematics system.

In yet another additional embodiment of the invention, calculating the lateral acceleration vector further includes determining a lateral incline vector using a calibrated forward vector using the telematics system and calculating the lateral acceleration vector using the calibrated forward vector and the lateral incline vector using the telematics system.

In still another additional embodiment of the invention, the calibrated forward vector aligns the vehicular forward axis with the forward axis using the telematics system.

In yet still another additional embodiment of the invention, calibrating acceleration information includes determining a vehicular lateral axis using the telematics system, and aligning the vehicular lateral axis with the lateral axis using the calibrated forward vector using the telematics system.

In yet another embodiment of the invention, calculating the lateral acceleration vector further includes calculating a normalized cross product of the calibrated forward vector and the lateral incline vector using the telematics system.

In still another embodiment of the invention, calculating the forward acceleration vector further includes determining a forward incline vector using the telematics system and calculating the forward acceleration vector using the forward incline vector and the lateral acceleration vector using the telematics system.

In yet still another embodiment of the invention, calculating the forward acceleration vector further includes calculating a normalized cross product of the forward incline vector and the lateral acceleration vector using the telematics system.

In yet another additional embodiment of the invention, calculating the vertical acceleration vector is based on the lateral acceleration vector and the forward acceleration vector using the telematics system.

In still another additional embodiment of the invention, calculating the vertical acceleration vector further includes calculating the normalized cross product of the lateral acceleration vector and the forward acceleration vector using the telematics system.

In yet still another additional embodiment of the invention, calibrating acceleration information includes determining an acceleration sensor vector including the forward acceleration information, the lateral acceleration information, and vertical acceleration information using the telematics system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system for calibrating a 3-axis accelerometer with an accelerometer, GPS unit and telematics processor in accordance with an embodiment of the invention.

FIG. 2 illustrates the alignment of the axes of a 3-axis accelerometer to the axes of a vehicle in accordance with an embodiment of the invention.

FIG. 3 is a flow chart illustrating a process for calibrating the axes of an accelerometer to the vertical, forward and lateral axes of a vehicle in accordance with an embodiment of the invention.

FIG. 4 is a flow chart illustrating a process for calibrating a 3-axis accelerometer along its vertical vector in accordance with an embodiment of the invention.

FIG. 5 is a flow chart illustrating a process for calibrating a 3-axis accelerometer along its lateral vector in accordance with an embodiment of the invention.

FIG. 6 is a flow chart illustrating a process for determining an average forward vector used in the calibration of 3-axis accelerometer in accordance with an embodiment of the invention.

FIG. 7 is a flow chart illustrating a process for the low latency calibration of a 3-axis accelerometer in accordance with an embodiment of the invention.

FIG. 8 is a flow chart illustrating a process for the calibration of a 3-axis accelerometer with vertical sample buffers in accordance with an embodiment of the invention.

DETAILED DESCRIPTION

Turning now to the drawings, systems and methods for low latency acceleration alignment in order to reduce calibration delays in telematics systems in accordance with embodiments of the invention are illustrated. Information concerning vehicle speed and acceleration can provide insights into driver behavior. For example, such information can indicate a variety of driver behaviors, including, but not limited to, performing hard cornering or suddenly stopping while driving. In accordance with many embodiments of the invention, vehicle speed may be calculated using information provided by a Global Position System (GPS) receiver by dividing the distance traveled by the GPS receiver by the time between measurements taken by the GPS receiver. In a number of embodiments, the GPS receiver is configured to determine heading information. In several embodiments, the GPS receiver is configured to determine velocity information using the signals received by the GPS receiver. A GPS receiver can determine velocity information in a variety of ways in accordance with embodiments of the invention, including, but not limited to, measuring the Doppler shift of the received signals. The differences in vehicle speed between measurements taken by the GPS receiver may be used to determine acceleration information for the vehicle. However, the use of GPS data to calculate acceleration information is dependent upon a variety of factors, such as reception and satellite availability, which may present problems when calculating the acceleration information. In accordance with embodiments of the invention, a variety of devices configured to determine location and/or velocity information other than GPS receivers may be used.

Acceleration information for a vehicle may also be captured using an accelerometer or other device configured to determine acceleration information; these devices are often installed on a vehicle or mobile device. Accelerometers installed on a vehicle may not be accurately aligned with the vehicle axes, limiting the accuracy of the acceleration data captured by the accelerometer. In a number of embodiments, the accelerometer axes do not change relative to the vehicle axes. A 3-axis accelerometer is an accelerometer configured to determine acceleration in the X, Y, and Z axes, corresponding to the forward, lateral, and vertical vectors measured by the 3-axis accelerometer. Accurate accelerometer data aligned with the axes of the vehicle is beneficial in many applications, including, but not limited to, telematics. Telematics is the integrated use of telecommunications and informatics, including, but not limited to, monitoring vehicle movement and behavior.

In accordance with embodiments of the invention, a 3-axis accelerometer is calibrated to align with a vehicle's vertical, lateral, and forward axes using acceleration information and location information of the vehicle. In many embodiments, the location information is captured using a GPS receiver and the acceleration information is captured using the 3-axis accelerometer, although other devices capable of capturing location and/or acceleration information may be utilized in accordance with embodiments of the invention. These measurements may be taken based upon an occurrence of certain events, in response to a request for calibration, and/or performed continuously. In many embodiments, acceleration and location information is measured when location information captured using the GPS receiver indicates that the vehicle is stationary. In several embodiments, acceleration and location information is measured when the location information captures using the GPS receiver indicates that the vehicle is in motion and/or that the vehicle is traveling over a certain speed. Data analysis, including filtering, may be utilized to filter useful data from erroneous or irrelevant measurements captured by the 3-axis accelerometer and/or GPS receiver and/or aligned data computed using the 3-axis accelerometer and/or GPS receiver data.

However, delays may be present in the calibration of vehicle axes to accelerometer axes; such delays can be a function of the accumulated number of acceleration and/or velocity samples and the period over which the samples were accumulated. Telematics units in accordance with embodiments of the invention are configured to perform low latency calibration of vehicle axes to accelerometer axes by determining lateral incline vectors and forward incline vectors using the velocity and acceleration information captured using the GPS receiver and the 3-axis accelerometer. Using the lateral incline vector and the forward incline vector, telematics units can quickly determine the aligned forward, lateral, and vertical vectors with a lower delay than computing the aligned forward, lateral, and vertical vectors using the accumulated samples. In a variety of embodiments, the calibration delay using the lateral incline vector and the forward incline vector is approximately half the sample period; however, other calibration delays are possible in accordance with the requirements of embodiments of the invention.

Systems and methods for calibrating a 3-axis accelerometer to align with the axes of a vehicle utilizing information captured using an accelerometer and/or a GPS receiver in accordance with embodiments of the invention are discussed further below.

Telematics System Architecture

Telematics systems are utilized in vehicles to determine and/or report the location and behavior of the vehicle. A telematics system containing a 3-axis accelerometer aligned to vehicle axes in accordance with an embodiment of the invention is illustrated in FIG. 1. The telematics system 100 includes a telematics unit 102, where the telematics unit 102 includes a GPS receiver 106, a 3-axis accelerometer 108, and a telematics process 110. The GPS receiver 106 and the 3-axis accelerometer 108 are configured to communicate with a telematics processor 110. The GPS receiver 106 is configured to receive signals from one or more GPS satellites 104, if available. In accordance with embodiments of the invention, the GPS receiver 106 and the 3-axis accelerometer 108 are configured to provide information to the telematics processor 110 at a sample rate; the GPS sample rate of the GPS receiver 106 and the accelerometer sample rate of the 3-axis accelerometer 108 are independent and determined dynamically or pre-determined.

In several embodiments, the GPS receiver 106 is configured to determine location information using signals received from a number of GPS satellites 104. In many embodiments, the GPS receiver 106 is configured to determine velocity and/or acceleration information using the received location information. In a number of embodiments, the GPS receiver is configured to determine velocity information by measuring the Doppler shift of the signals received from the GPS satellites 104. In a variety of embodiments, a vertical sample buffer 114 is utilized to store vertical vector samples; the stored vertical vector samples can be processed to compensate for errors in the received GPS information. In many embodiments, the 3-axis accelerometer 108 can generate 3-axis acceleration data from vehicle motion. In many embodiments, the telematics processor 110 is configured to calibrate the 3-axis accelerometer 108 to correlate the 3-axis acceleration data generated by the 3-axis accelerometer 108 to the axes of the vehicle in which the telematics system 100 is installed using velocity and/or acceleration information. In a number of embodiments, the telematics processor 110 is configured to determine velocity and/or acceleration information using location information received using the GPS receiver 106. In multiple embodiments, the telematics processor 110 utilizes acceleration and/or velocity information generated by the GPS receiver 106.

In several embodiments, the telematics unit 102 includes a GPS sample filter 120 and/or an accelerometer sample filter 124. The GPS sample filter 120 is configured to sample and convert the sampling rate of the GPS receiver 106. The accelerometer sample filter 124 is configured to sample and convert the sampling rate of the 3-axis accelerometer 108. In many embodiments, the GPS sample filter 120 and/or the accelerometer sample filter 124 are configured to match the GPS sampling rate to the accelerometer sampling rate. For example, if the GPS receiver 106 has a sampling rate of 250 milliseconds and the 3-axis accelerometer 108 has a sampling rate of 50 milliseconds, the accelerometer sample filter 124 can utilize five samples generated using the 3-axis accelerometer 108 to match the 250 millisecond sample rate of the GPS receiver 106. The accelerometer sample filter 124 and/or the GPS sample filter 120 perform the rate matching in a variety of ways, including, but not limited to, averaging information received, selecting the highest sample received, selecting the smallest sample received, selecting one sample at random, and/or selecting the last sample. In many embodiments, the accelerometer sample filter 124 and/or the GPS sample filter 120 are implemented using the telematics processor 110 and/or the history buffer 112. In a variety of embodiments, the sampling rates of the GPS receiver and the accelerometer do not need to be synchronized in order to calibrate the axes of the accelerometer with the vehicle axes.

In a number of embodiments, the telematics unit 102 includes a GPS sample window 122 configured to store one or more samples received using the GPS receiver 106. In several embodiments, the telematics unit 102 includes an accelerometer sample window 126 configured to store one or more samples received using the 3-axis accelerometer 108. In many embodiments, the telematics processor 110 can accumulate information provided by the GPS receiver 106 and the 3-axis accelerometer 108 along with calibration information using a history buffer 112. In several embodiments, the telematics processor 110 is configured to use the accumulated information to calculate lateral incline vectors and forward incline vectors. Using the lateral incline vectors and the forward incline vectors, the telematics processor 110 is configured to perform the calibration of the 3-axis accelerometer 108 to the vehicle axes. In a number of embodiments, the telematics processor 110 is configured to adapt the calibration of the 3-axis accelerometer 108 to the vehicle axes using the location and/or velocity information determined using the GPS receiver 106. In many embodiments, the GPS sample window 122, the accelerometer sample window 126, and/or the vertical sample buffer 114 is implemented using the telematics processor 110 and/or the history buffer 112.

A specific telematics system is described above; however, a variety of telematics systems, including those that receive location information without using a GPS receiver, may be utilized in accordance with embodiments of the invention. Processes for calibrating a 3-axis accelerometer relative to the axes of a vehicle to which the 3-axis accelerometer is installed are discussed further below.

Comparison of Accelerometer Axes and Vehicle Axes

In order to provide accurate acceleration information, a 3-axis accelerometer is calibrated to the axes of the vehicle in which the 3-axis accelerometer is installed. An illustration of the relative alignment of the axes of a 3-axis accelerometer to the axes of a vehicle in accordance with embodiments of the invention is shown in FIG. 2. Coordinate axes 200 show the relative alignment of the axes 208 of a 3-axis accelerometer 204 and the axes 206 of a vehicle 202 to which the accelerometer is mounted. The X, Y and Z coordinate axes 206 are the axes of a vehicle. The X₁, Y₁ and Z₁ axes are the axes 208 of the 3-axis accelerometer 204. In the illustrated embodiment, the axes 208 of the 3-axis accelerometer 204 are not aligned with the axes 206 of the vehicle 202. Therefore, in order to determine acceleration along the axes 206 of the vehicle, the 3-axis accelerometer's 204 axes 208 X₁, Y₁ and Z₁ are calibrated with respect to the axes 206 X, Y and Z of the vehicle 202; processes for performing this calibration are discussed in more detail below. In many embodiments of the invention, the axes 206 X, Y and Z of the vehicle 202 correspond to a gravity vector, a lateral directional vector of travel along a horizontal plane, and the orthogonal to the gravity vector and the lateral motion vector; accordingly, the calibration of the accelerometer's 204 axes 208 X₁, Y₁ and Z₁ are to the gravity vector, the lateral motion vector, and the orthogonal of the gravity vector and the lateral motion vector. In many embodiments, the 3-axis accelerometer 204 is part of a telematics system installed in the vehicle 202.

Although a specific relative alignment between the axes of a 3-axis accelerometer and a vehicle described above, a variety of alignments, including those where the axes of a 3-axis accelerometer are aligned to a gravity vector, a lateral motion vector, and the orthogonal of the gravity vector and the lateral motion vector, may be utilized in accordance with embodiments of the invention. Processes for calibrating 3-axis accelerometers in accordance with embodiments of the invention are described below.

3-Axis Accelerometer Calibration Using GPS Location Information

The location, velocity, and acceleration of a vehicle can be captured using a GPS receiver and utilized to determine the motion of the axes of a vehicle relative to the Earth. This information can be correlated to information measured using a 3-axis accelerometer, thereby calibrating the 3-axis accelerometer to the vehicle. A process for calibrating the axes of a 3-axis accelerometer to the vertical, forward and lateral axes of a vehicle containing both the 3-axis accelerometer and the GPS receiver in accordance with an embodiment of the invention is illustrated in FIG. 3.

The process 300 includes determining (302) lateral acceleration. Forward acceleration is determined (304). Vertical acceleration is determined (306). In several embodiments, orthogonal vectors representing the vertical, forward, and lateral vectors are computed (308). The vertical, forward, and lateral vectors are correlated (310) to the axes of the 3-axis accelerometer. If necessary, the calibration process continues (312) beginning with step 302. If the calibration process does not continue (312), the process ends.

In many embodiments, lateral acceleration is determined (302) using information captured using a 3-axis accelerometer when a GPS receiver indicates that the vehicle is not in motion. In a number of embodiments, forward acceleration is determined (304) using information measured using the 3-axis accelerometer when location information measured using the GPS receiver indicates that the vehicle is in motion. In several embodiments, forward acceleration is determined (304) when a vehicle exceeds a predetermined speed. In several embodiments, vertical acceleration is determined (306) by computing the cross product of the lateral acceleration and forward acceleration. In many embodiments, the orthogonal vectors are computed (308) by calculating the cross product of every combination of the forward acceleration, the lateral acceleration, and the vertical acceleration. In a number of embodiments, calibration continues (312) if the magnitude of the correlation between the 3-axis accelerometer and the vertical, forward, and lateral vectors exceeds a threshold value. In several embodiments, the calibration continues (312) while the vehicle is in motion. In many embodiments, the calibration continues (312) while the vehicle is turned on. In a number of embodiments, the calibration is only performed once and does not continue (312). In a number of embodiments, the calibration process continues (312) when the determined (302, 304, 306) lateral, forward, and/or vertical accelerations exceed a threshold value; the threshold value may be pre-determined or determined dynamically. In several embodiments, the calibration process continues (312) until a certain number of successful calibration attempts have been reached; the number of successful calibration attempts may be pre-determined or determined dynamically.

In accordance with many embodiments of the invention, the determined (302, 304, 306) vertical, forward, and/or lateral accelerations are stored in a history buffer. Correlating (310) the vertical, forward, and lateral accelerations with the 3-axis accelerometer axes utilizes the stored vertical, forward, and/or lateral accelerations. In certain embodiments, once a new lateral acceleration is determined (302), correlating (310) the accelerations with the 3-axis accelerometer axes utilizes the lateral acceleration and forward and vertical accelerations stored in the history buffer. Likewise, in several embodiments, once a new forward acceleration is determined (304), calibration (310) utilizes vertical and lateral accelerations stored in the history buffer. In various embodiments, the vertical, forward, and/or lateral accelerations stored in the history buffer are used to predetermine what a vehicle's vertical, forward and lateral axes are and an accelerometer's axes system are calibrated to fit the predetermined vehicle axes. In many embodiments, the vertical, forward, and/or lateral accelerations stored in the history buffer correlate to GPS acceleration samples taken using the GPS receiver and/or accelerometer acceleration samples taken using the 3-axis accelerometer.

In accordance with embodiments of the invention, correlating (310) the vectors corresponding with the axes of the vehicle with the 3-axis accelerometer axes may be performed using a least squares method. Given motion vector samples [X_(i), Y_(i), Z_(i)], where i is the number of motion vector samples, vertical alignment vector [V_(x), V_(y), V_(z)], forward GPS acceleration sample F and lateral GPS acceleration sample L_(i) and vertical acceleration

V _(i)=√{square root over (X _(i) ² +Y _(i) ² +Z _(i) ² −F _(i) ² −L _(i) ²)}

the alignment vectors which calibrate the axes of the 3-axis accelerometer to the axes of the vehicle are calculated by:

B ₁ =A ₁₁ *V _(x) +A ₁₂ *V _(y) +A ₁₃ *V _(z)

B ₂ =A ₁₂ *V _(x) +A ₂₂ *V _(y) +A ₂₃ *V _(z)

B ₃ =A ₁₃ *V _(x) +A ₂₃ *V _(y) +A ₃₃ *V _(z)

where

A ₁₁ =ΣX _(i) ²

A ₁₂ =ΣX _(i) *Y _(i)

A ₁₃ =ΣX _(i) *Z _(i)

A ₂₂ =ΣY _(i) ²

A ₂₃ =ΣY _(i) *Z _(i)

A ₃₃ =ΣZ _(i) ²

B ₁ =ΣV _(i) *X _(i)

B ₂ =ΣV _(i) *Y _(i)

B ₃ =ΣV _(i) *Z _(i)

In accordance with embodiments of the invention, the vertical alignment vector[V_(x), V_(y), V_(z)] is determined using a Gaussian elimination process. For example,

$V_{z} = \frac{{D_{2}*C_{11}} - {D_{1}*C_{12}}}{{C_{11}*C_{22}} - C_{12}^{2}}$ $V_{y} = \frac{{D_{1}*C_{22}} - {D_{2}*C_{12}}}{{C_{11}*C_{22}} - C_{12}^{2}}$

and V_(x) is the maximum of

$V_{x} = \frac{B_{1} - {A_{12}*V_{y}} - {A_{13}*V_{z}}}{A_{11}}$ $V_{x} = \frac{B_{2} - {A_{22}*V_{y}} - {A_{23}*V_{z}}}{A_{12}}$ $V_{x} = \frac{B_{3} - {A_{23}*V_{y}} - {A_{33}*V_{z}}}{A_{13}}$

where

C ₁₁ =A _(1l) *A ₂₂ −A ₁₂ ²

C ₁₂ =A ₁₁ *A ₂₃ −A ₁₂ *A ₁₃

C ₂₂ =A _(1l) *A ₃₃ −A ₁₃ ²

D ₁ =B ₂ *A ₁₁ −B ₁ *A ₁₂

D ₂ =B ₃ *A ₁₁ −B ₁ *A ₁₃

Although a specific process for calibrating the axes of a 3-axis accelerometer to the axes of a vehicle is discussed above with respect to FIG. 3, any of a variety of processes, including those which obtain information related to the location, velocity, and/or acceleration of a vehicle using devices other than GPS receivers, may be performed in accordance with embodiments of the invention. In particular, processes for the low latency calibration of the axes of a 3-axis accelerometer to the axes of the vehicle are discussed below with respect to FIG. 7. Processes for calibrating the axes of a 3-axis accelerometer in accordance with embodiments of the invention are disclosed below.

Vertical Vector Calibration

Filtering the information measured using a 3-axis accelerometer, a GPS receiver, and/or data aligning the 3-axis accelerometer and the GPS receiver can eliminate erroneous data, including, but not limited to, data from a vehicle stopped on an incline. A process for calibrating a vertical vector measured using a 3-axis accelerometer to filter erroneous data in accordance with an embodiment of the invention is illustrated in FIG. 4. The process 400 includes measuring (402) vertical acceleration using a 3-axis accelerometer. The forward acceleration of the 3-axis accelerometer is measured (404). The forward acceleration and the vertical acceleration are processed (406) to determine a vertical vector. In several embodiments, the vertical acceleration and/or the forward acceleration are stored (408) as part or all of the historical motion data. If the vertical vector is detected (410) in the processed (408) vertical and forward accelerations, the 3-axis accelerometer calibration is updated (412) to compensate for the vertical vector. In a number of embodiments, if a vertical vector is not detected (410), the process 400 repeats. In many embodiments, if a vertical vector is not detected (410), the process 400 ends.

In many embodiments, the vertical vector is measured (402) when the speed of the vehicle exceeds a threshold; the threshold may be pre-determined or determined dynamically. In several embodiments, the forward acceleration of the 3-axis accelerometer is measured (404) when the forward acceleration exceeds a threshold acceleration; the threshold acceleration may be pre-determined or determined dynamically. In a number of embodiments, the motion of the vehicle is determined using a GPS receiver. In several embodiments, elevation data measured using the GPS receiver is utilized to determine whether the vehicle is likely stopped on an incline. In many embodiments, determining that the vehicle is at rest using the GPS receiver involves no change in GPS receiver position over time. In a number of embodiments, detecting no GPS receiver movement can involve a determination of whether there is any GPS receiver movement over time that takes consideration of erroneous GPS receiver movement readings. In many embodiments, the motion of the vehicle is determined using the 3-axis accelerometer. In several embodiments, detecting constant acceleration using an accelerometer is made in an event with no movement of a vehicle as detected by a GPS receiver. In several embodiments, the stored (408) historical motion data includes data captured using the GPS receiver and/or 3-axis accelerometer. In certain embodiments, only a selection of data is stored (408) as historical motion data, such as data that corresponds to certain events of interest. In a number of embodiments, all data captured using the GPS receiver and/or 3-axis accelerometer is stored (408) as historical motion data.

For example, when the GPS receiver indicates that a vehicle is stationary and the 3-axis accelerometer experiences constant acceleration, an assumption can be made that the vehicle is stationary and that the 3-axis accelerometer output is indicative of vertical acceleration due to gravity. When both the 3-axis accelerometer and the GPS receiver indicate vehicle speeds above a certain threshold value and increasing with a constant direction, an assumption can be made that the vehicle is accelerating in approximately a straight line. When a calibration event occurs, the calibration of the 3-axis accelerometer is updated (412) utilizing the determined (406) vertical vector to compensate for the vertical acceleration due to gravity as measured by the 3-axis accelerometer.

In numerous embodiments, the processing (406) of current motion data includes analysis and filtering of data to provide data veracity. In several embodiments, current measured (402, 404) vertical and forward accelerations are processed (406) using historical motion data. Data analysis can utilize filters, including least mean squares, least squares, and Gaussian elimination methods, including those described above with respect to FIG. 3.

Although specific processes are discussed above for calibrating a 3-axis accelerometer to compensate for acceleration along its vertical vector, any of a variety of processes can be utilized, including processes that operate on vehicles that are in motion, in accordance with embodiments of the invention. In particular, alternative techniques for calibrating a 3-axis accelerometer that utilize vertical sample buffers to compensate for measurement errors in the vertical vector are discussed in more detail below with respect to FIG. 8 and processes for the low latency determination of vertical alignment information are discussed below with respect to FIG. 7. Processes for calibrating a 3-axis accelerometer along its forward vector in accordance with embodiments of the invention are described below.

Lateral Vector Calibration

Filtering the lateral vector measured by a 3-axis accelerometer allows a telematics unit to compensate for measurement errors, including measurements made when a vehicle is moving backwards or turning very slightly. A process for calibrating a 3-axis accelerometer along its lateral axis in accordance with an embodiment of the invention is illustrated in FIG. 5. The process 500 includes detecting (502) data related to the forward acceleration of a vehicle. The direction of the acceleration is determined (504). The acceleration data is processed (506) to determine a lateral vector. In a number of embodiments, the acceleration data is stored (508) as part of all of the historical motion data. If a lateral vector is detected (510), the calibration of the 3-axis accelerometer is updated (512) using the lateral vector. In many embodiments, if no lateral vector is detected (510), the process 500 repeats. In several embodiments, if no lateral vector is detected (510), the process 500 is complete.

In many embodiments, detecting (502) data related to the forward acceleration of a vehicle includes determining that the velocity of the vehicle exceeds a threshold velocity. In several embodiments, the velocity of the vehicle may be detected (502) using a GPS receiver and/or a 3-axis accelerometer. The GPS receiver and/or 3-axis accelerometer may also be utilized to determine (504) the direction in which the vehicle is traveling. In a number of embodiments, the vehicle is traveling in a constant direction. Analysis of data received using a GPS receiver can determine (504) whether the direction of motion is unchanging by comparing current values to past values. Similarly, analysis of data received using a 3-axis accelerometer can determine (504) whether the direction of acceleration is unchanging by comparing current acceleration to past values for any changes in acceleration direction. Certain embodiments only use a GPS receiver or only use a 3-axis accelerometer to determine (504) constant direction; other embodiments use both a GPS receiver and a 3-axis accelerometer to determine (504) a constant direction. Several embodiments use a GPS receiver to check data received using a 3-axis accelerometer or vice versa. In various embodiments, a constant direction is not one in which data indicates the direction data is rigidly constant, but takes into account errors and discrepancies that may come from erroneous direction data, such as an inaccurate GPS reading or measurement errors in a 3-axis accelerometer.

Analysis of data can be used to determine whether the data is indicative of a lateral vector. Indications of a lateral vector can filter out data that is likely an outlier, such as data indicating that a vehicle is moving backward rather than forward. This can include filtering out events indicating that a vehicle is slowly backing out of a parking spot before turning and driving in a forward direction. Data analysis can utilize filters, including, but not limited to, least mean squares, least squares, and Gaussian elimination methods, including those described above with respect to FIG. 3.

A specific process is described above with respect to FIG. 5 for calibrating the forward axis of a 3-axis accelerometer with respect to a lateral vector; however, any of a variety of processes can be utilized, including processes that do not rely upon uniform forward motion of the vehicle, in accordance with an embodiment of the invention. Processes for the low latency calibration of the forward axis of a 3-axis accelerometer using lateral incline vectors in accordance with embodiments of the invention are discussed below with respect to FIG. 7. Processes for calibrating a 3-axis accelerometer using an average forward vector in accordance with embodiments of the invention are discussed below.

3-Axis Accelerometer Calibration Using an Average Forward Vector

Once a vertical vector and/or a lateral vector have been determined, an average forward vector can be computed; this average forward vector is used to calibrate the forward acceleration measured using a 3-axis accelerometer to the forward motion of the vehicle in which the 3-axis accelerometer is mounted. A process for determining an average forward vector used to calibrate a 3-axis accelerometer in accordance with en embodiment of the invention is illustrated in FIG. 6. The process 600 includes determining (602) acceleration information. A vertical vector is determined (604). An average forward vector is determined (606). In many embodiments, the vertical, lateral, and/or average forward vectors are stored (608) as historical data. The calibration of a 3-axis accelerometer is updated (610).

In many embodiments, acceleration information is determined (602) utilizing a GPS receiver and/or a 3-axis accelerometer. In many embodiments, the vertical vector is determined (604) using a process similar to the one described above with respect to FIG. 4. In a number of embodiments, determining (604) the vertical vector includes multiplying a normalized vertical vector by acceleration information stored as historical data. In several embodiments, determining (606) the average forward vector includes determining a lateral vector using a process similar to the one described above with respect to FIG. 5. In many embodiments, determining the lateral vector includes subtracting the determined (604) vertical vector from the determined (602) acceleration information. The vertical vector and/or acceleration information used to determine the lateral vector may be stored (608) as historical data. In a number of embodiments, determining (606) the average forward vector utilizes the lateral vector and the angle between the lateral vector and a measured forward vector. In several embodiments, the measured forward vector is determined using forward acceleration information captured using a 3-axis accelerometer. In many embodiments, the measured forward vector is a previously calculated average forward vectored stored as historical data. In a number of embodiments, determining (606) the average forward vector uses one or both of the determined (602) acceleration and the determined (604) vertical vector. In many embodiments, a certain amount of acceleration information and/or a certain number of vertical vectors and/or average forward vectors are stored (608) as historical data before the 3-axis accelerometer calibration is updated (610). The amount of acceleration information and/or number of vectors stored may be determined dynamically and/or pre-determined.

A specific process is described above with respect to FIG. 6 for calibrating a 3-axis accelerometer using a determined average forward vector; however, any of a variety of processes, including those which utilize an average lateral vector and those which determine a lateral vector, can be utilized in accordance with an embodiment of the invention. Processes for a low latency determination of alignment information are discussed below.

Low Latency 3-Axis Accelerometer Calibration

During the operation of a vehicle, drivers benefit from receiving warning and alerts as quickly as possible so corrective action can be taken. Many of these alerts depend upon acceleration information measured using 3-axis accelerometers. By performing a low latency alignment of a 3-axis accelerometer, acceleration information can be provided quickly, enabling warnings and alerts to be generated with short delays. Telematics units in accordance with embodiments are configured to determine lateral incline vectors and forward incline vectors using measured acceleration information; these vectors can be utilized to determine alignment information in a low latency fashion. A process for low latency acceleration alignment in accordance with an embodiment of the invention is shown in FIG. 7. The process 700 includes measuring (702) forward and lateral acceleration. A lateral incline vector is calculated (704). A lateral vector is calculated (706). A forward incline vector is calculated (708). A forward vector is calculated (710). A vertical vector is calculated (712). Acceleration axes are calibrated (714).

In a variety of embodiments, measuring (702) forward and/or lateral acceleration is performed using a GPS receiver and/or 3-axis accelerometer. In several embodiments, measuring (702) forward and/or lateral acceleration is performed using processes similar to those described above. In many embodiments, a lateral incline vector (A_(lat-incline)) can be calculated (704) such that:

A _(lat-incline) =A _(mems) −L _(gps)*Norm(F _(calb) ×A _(mems))

where A_(mems) is a vector representing the acceleration data typically provided by a 3-axis accelerometer, F_(calb) is the calibrated forward vector, and L_(gps) is the lateral acceleration of a vehicle. In a number of embodiments, L_(gps) is determined using a GPS receiver. In several embodiments, A_(lat-incline) is calculated by determining the accelerometer acceleration vector (A_(mems)) and forward vector (F_(calb)) and computing the cross product of the two vectors. In a variety of embodiments, the resulting vector is normalized.

In several embodiments, a lateral vector (A_(lat)) can be calculated (706) using the formula:

A _(lat)=Norm(F _(calb) ×A _(lat-incline))

where F_(calb) is the calibrated forward vector and A_(lat-incline) is the lateral incline vector.

In a similar fashion, in several embodiments of the invention, a forward incline vector (A_(forw-incline)) can be calculated (708) such that:

A _(forw-incline) =A _(mems) −F _(gps)*Norm(A _(lat-incline) ×A _(lat))

where A_(lat-incline) is the lateral incline vector, A_(lat) is the lateral vector, F_(gps) is the measured forward acceleration, and A_(mems) is the acceleration vector. In a variety of embodiments, (A_(lat-incline)×A_(lat)) is normalized.

In many embodiments, the forward vector (A_(forw)) can be calculated (710) such that:

A _(forw)=Norm(A _(forw-incline) ×A _(lat))

where A_(forw-incline) is the forward incline vector and (A_(lat)) the lateral vector. In a variety of embodiments (A_(forw-incline)×A_(lat)) is normalized to determine the forward vector (A_(forw)). Once the lateral and forward vectors are calculated, the vertical vector (A_(vert)) may be calculated (712) such that:

A _(vert)=Norm(A _(lat) ×A _(forw))

where A_(lat) is the lateral vector and A_(forw) is the forward vector. In a variety of embodiments (A_(lat)×A_(forw)) is normalized to determine the vertical vector (A_(vert)).

In a variety of embodiments, the axes of the 3-axis accelerometer are calibrated (714) to the axes of the vehicle using the aligned (706, 710, 712) forward, lateral, and vertical vectors. In several embodiments of the invention, the aligned lateral vector (A_(lat)), forward vector (A_(forw)), and vertical vector (A_(vert)), are used to calibrate (714) the aligned lateral, forward, and vertical axes such that:

Aligned Lateral Axis=A _(lat) *A _(mems)

Aligned Forward Axis=A _(forw) *A _(mems)

Aligned Vertical Axis=A _(vert) *A _(mems)

As discussed above, the acceleration information utilized above is obtained from 3-axis accelerometers and GPS receivers at a sampling rate related to the device providing the information. In many embodiments, the determination of the lateral incline vector and the forward incline vector utilizes fewer samples (a variety of embodiments utilize half the number of samples) than accumulating information from the 3-axis accelerometer and the GPS receiver and directly calculating the calibration information for the forward, lateral, and vertical axes of the 3-axis accelerometer and the vehicle using the accumulated samples while maintaining equivalent performance in the calibration. By utilizing fewer samples to determine the alignment information used to calibrate the 3-axis accelerometer to the vehicle axes, telematics systems utilizing lateral incline vectors and forward incline vectors in the calibration as described above exhibit low latency in the calibration of the 3-axis accelerometer to the vehicle axes.

Although specific processes for the low latency calibration of the aligned lateral, forward, and vertical vectors are discussed above with respect to FIG. 7, any of a variety of processes, including those utilizing alternative methods for determining accelerations other than GPS receivers and 3-axis accelerometers, can be utilized in accordance with embodiments of the invention. Processes for alignment methods utilizing vertical sample buffers in accordance with embodiments of the invention are discussed further below.

Acceleration Alignment with Vertical Sample Buffers

Information determined via a GPS receiver can include measurement errors unique to each sample of information obtained; these errors induce additional noise and errors in the calibration of 3-axis accelerometers using the GPS-determined acceleration data. Telematics units in accordance with embodiments of the invention are configured to utilize vertical sample buffers to determine an average vertical vector that compensates for the measurement errors in the samples obtained from the GPS receiver. A process for utilizing vertical vector stabilization in the calibration of 3-axis accelerometers in accordance with an embodiment of the invention is shown in FIG. 8. The process 800 includes determining (802) vertical acceleration vectors. One or more vertical acceleration vectors are stored (804). If the number of stored vectors does not exceed (806) a threshold value, more vertical acceleration vectors are determined (802). If the number of stored vectors exceeds (806) a threshold value, an average acceleration vector is calculated (808). The threshold value can be determined dynamically and/or be predetermined. The average acceleration vector is processed. An average vertical vector (810) is determined. Corresponding motion samples are aligned (812).

In a variety of embodiments, determining (802) vertical acceleration vectors is performed using processes similar to those described above. In a number of embodiments, the determined (802) vertical acceleration vectors are measured using a GPS receiver. In several embodiments, the determined (802) vertical acceleration vectors are stored (804) using a vertical sample buffer. In many embodiments, the vertical sample buffer is a circular buffer; circular buffers in accordance with embodiments of the invention are configured to store a number of vertical acceleration vectors. Once the circular buffer has reached its capacity, the oldest vector is dropped (or overwritten) and a new vertical acceleration vector takes its place. In several embodiments, the vertical sample buffer is configured to associate metadata including, but not limited to a timestamp, with a particular vertical acceleration vector. Once the vertical sample buffer has reached its capacity, the metadata is utilized to determine which vertical acceleration vector is dropped (or overwritten). The capacity of the vertical acceleration buffer can be predetermined and/or determined dynamically. Other buffers and buffering techniques can be utilized according to the requirements of embodiments of the invention.

In many embodiments, the average acceleration vector is calculated (808) by accumulating the previous calculated vertical vectors and updating the average using each newly calculated vector utilizing a counter. In several embodiments, the stored vertical acceleration vectors are determined during different periods of time and include varying measurement errors. In a variety of embodiments, determining (810) an average vertical vector includes calculating a moving average using the stored (804) vertical acceleration vectors. In a number of embodiments, an average of the stored (804) vertical acceleration vectors is used to determine (810) the average vertical vector. The number stored (804) vertical acceleration vectors utilized to determine (810) the average vertical vector can be all of the stored (804) vectors or a portion of the stored (804) vectors. In a number of embodiments, the determined (810) average vertical vector is used to align (812) the corresponding motion samples by determining forward and lateral vectors using methods including, but not limited to, those discussed above. Utilizing the determined (810) average vertical vector, errors in the measurement of the vertical vectors are limited and aid in the accurate alignment (812) of the corresponding motion samples.

Although specific processes for performing acceleration alignment using vertical sample buffers are discussed above with respect to FIG. 8, any of a variety of processes appropriate to the requirements of a specific application can be utilized in accordance with embodiments of the invention.

Although the present invention has been described in certain specific aspects, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that the present invention may be practiced otherwise than specifically described without departing from the scope and spirit of the present invention. Thus, embodiments of the present invention should be considered in all respects as illustrative and not restrictive. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their equivalents. 

What is claimed is:
 1. A telematics system, comprising: a processor; an acceleration sensor connected to the processor and configured to determine forward acceleration information along a forward axis, lateral acceleration information along a lateral axis, and vertical acceleration information along a vertical axis; a velocity sensor connected to the processor and configured to determine velocity information along a vehicular forward axis and heading information; and a memory connected to the processor and configured to store an acceleration alignment application; wherein the acceleration alignment application configures the processor to: determine vehicular forward acceleration information along the vehicular forward axis using the velocity information; determine vehicular lateral acceleration information using the velocity information and the heading information; calculate a lateral acceleration vector using the forward acceleration information, the lateral acceleration information, the vertical acceleration information, and the vehicular lateral acceleration information; calculate a forward acceleration vector using the lateral acceleration vector and the vehicular forward acceleration information; calculate a vertical acceleration vector using the lateral acceleration vector and the forward acceleration vector; compute lateral alignment information using the lateral acceleration vector, the forward acceleration information, the lateral acceleration information, and the vertical acceleration information; compute forward alignment information using the forward acceleration vector, the forward acceleration information, the lateral acceleration information, and the vertical acceleration information; and compute vertical alignment information using the vertical acceleration vector, the forward acceleration information, the lateral acceleration information, and the vertical acceleration information.
 2. The telematics system of claim 1, wherein the acceleration alignment application further configures the processor to calculate the lateral acceleration vector by: determining a lateral incline vector using a calibrated forward vector, the forward acceleration information, the lateral acceleration information, the vertical acceleration information, and the vehicular lateral acceleration information; and calculating the lateral acceleration vector using the calibrated forward vector and the lateral incline vector.
 3. The telematics system of claim 2, wherein the calibrated forward vector aligns the vehicular forward axis with the forward axis.
 4. The telematics system of claim 3, wherein: the acceleration alignment application further configures the processor to determine a vehicular lateral axis using the heading information and the vehicular forward acceleration information; and the calibrated forward vector further aligns the vehicular lateral axis with the lateral axis.
 5. The telematics system of claim 2, wherein the lateral acceleration vector is the normalized cross product of the calibrated forward vector and the lateral incline vector.
 6. The telematics system of claim 2, wherein the acceleration alignment application further configures the processor to calculate the forward acceleration vector by: determining a forward incline vector using the lateral acceleration vector, the lateral incline vector, the vehicular forward acceleration information, the forward acceleration information, the lateral acceleration information, and the vertical acceleration information; and calculating the forward acceleration vector using the forward incline vector and the lateral acceleration vector.
 7. The telematics system of claim 6, wherein the forward acceleration vector is the normalized cross product of the forward incline vector and the lateral acceleration vector.
 8. The telematics system of claim 6, wherein the acceleration alignment application further configures the processor to calculate the vertical acceleration vector using the lateral acceleration vector and the forward acceleration vector.
 9. The telematics system of claim 8, wherein the vertical acceleration vector is the normalized cross product of the lateral acceleration vector and the forward acceleration vector.
 10. The telematics system of claim 1, wherein: the acceleration sensor is a 3-axis accelerometer; and the acceleration sensor is configured to determine an acceleration sensor vector comprising the forward acceleration information, the lateral acceleration information, and the vertical acceleration information.
 11. A method for calibration acceleration information using a telematics system, where the telematics system is mounted in the vehicle having a vehicular forward axis, a vehicular lateral axis, and a vehicular vertical axis, comprising: determining vehicular forward acceleration information along a vehicular forward axis using the telematics system; determining vehicular lateral acceleration information along a vehicular lateral axis using the telematics system; calculating a lateral acceleration vector using the vehicular lateral acceleration information using the telematics system; calculating a forward acceleration vector using the lateral acceleration vector and the vehicular forward acceleration information using the telematics system; calculating a vertical acceleration vector using the lateral acceleration vector and the forward acceleration vector using the telematics system; computing lateral alignment information using the lateral acceleration vector using the telematics system; computing forward alignment information based on the forward acceleration vector using the telematics system; and computing vertical alignment information based on the vertical acceleration vector using the telematics system.
 12. The method of claim 11, wherein calculating the lateral acceleration vector further comprises: determining a lateral incline vector using a calibrated forward vector using the telematics system; and calculating the lateral acceleration vector using the calibrated forward vector and the lateral incline vector using the telematics system.
 13. The method of claim 12, wherein the calibrated forward vector aligns the vehicular forward axis with the forward axis using the telematics system.
 14. The method of claim 13, further comprising: determining a vehicular lateral axis using the telematics system; and aligning the vehicular lateral axis with the lateral axis using the calibrated forward vector using the telematics system.
 15. The method of claim 12, wherein calculating the lateral acceleration vector further comprises calculating a normalized cross product of the calibrated forward vector and the lateral incline vector using the telematics system.
 16. The method of claim 12, wherein calculating the forward acceleration vector further comprises: determining a forward incline vector using the telematics system; and calculating the forward acceleration vector using the forward incline vector and the lateral acceleration vector using the telematics system.
 17. The method of claim 16, wherein calculating the forward acceleration vector further comprises calculating a normalized cross product of the forward incline vector and the lateral acceleration vector using the telematics system.
 18. The method of claim 16, wherein calculating the vertical acceleration vector is based on the lateral acceleration vector and the forward acceleration vector using the telematics system.
 19. The method of claim 18, wherein the calculating the vertical acceleration vector further comprises calculating the normalized cross product of the lateral acceleration vector and the forward acceleration vector using the telematics system.
 20. The method of claim 11, further comprising determining an acceleration sensor vector comprising the forward acceleration information, the lateral acceleration information, and vertical acceleration information using the telematics system. 